package com.gxa.j259.springcloud.f.client.controller;

/**
 * @author thinknovo
 * @version 1.0
 */
public class TestMain {
    public static void main(String[] args) {
        //     1 1 2 3 5 8 13 21 ......
        // 1 0 1 1 2 3 5 8 13 21
        // 前面两个数相加，等于后面这个数
        // 递归的写法可以改成不用递归吗？
        // 递归思想通常都是逆向思想
        TestMain testMain = new TestMain();
        for(int i = 0; i < 50; i++) {
            int number = testMain.math(i + 1);
            System.out.print(number + "   ");
        }


    }

    public int math(int i) {     // i代表第N个数字   i = (i-1) + (i - 2)
        if(i == 1 || i == 2) {   // 递归必须要有一个终止点，否则栈溢出 当分解到第一个数字和第二数字时，不能再分解，只能返回1的值
            return 1;
        }
        return math(i -1) + math(i - 2);
    }
}
